package com.zn.services;

import com.zn.pojo.MhyMedia;
import com.zn.pojo.UnifiedReportData;
import com.zn.pojo.android.*;

import java.util.List;

/**
 * @author xyl
 * @create 2020-12-02 17:38
 * @desc
**/
public interface MhyService {

    /**
     * 添加  获得检测流水号实体类
     * @param processNo
     * @return
     */
    int addProcess(ProcessNo processNo);

    /**
     * 批量上传检测过程数据
     * @param processData
     * @return
     */
    int addProcessBatchList(List<ProcessData> processData);

    /**
     * 添加检测结果实体类
     * @param smokeDetection
     * @return
     */
    int addResult(SmokeDetection smokeDetection);

    /**
     * 根据uuid获取
     * @param uuid
     * @return
     */
    MhyMedia getMhyMediaByUUId(String uuid);

    /**
     * 上传检测过程照片
     * @param vi
     * @return
     */
    int addMhyMedia(VehicleImage vi);

    /**
     * 上传检测结果照片  已和检测过程照片 合并, 弃用
     * @param vi
     * @return
     */
    @Deprecated
    int addMhyMedia(VehicleResultImage vi);

    /**
     * 根据id进行上传
     * @param vi
     * @param mediaId
     * @return
     */
    int modifyMhyMedia(VehicleImage vi, Integer mediaId);

    /**
     * 弃用
     * @param vri
     * @param mediaId
     * @return
     */
    int modifyMhyMedia(VehicleResultImage vri, Integer mediaId);

    /**
     * 弃用
     * @param vri
     * @param processNo
     * @return
     */
    int modifyMhyMedia(VehicleResultImage vri, String processNo);

    /**
     * 根据流水号获取检测结果实体类
     * @param processNo
     * @return
     */
    SmokeDetection getSmokeDetectionInfoByProcessNo(String processNo);

    /**
     * 根据流水号获取
     * @param processNo
     * @return
     */
    MhyMedia getMhyMediaByProcessNo(String processNo);

    /**
     * 上传视频
     * @param processNo 流水号
     * @param videoName 为文件名
     * @return
     */
    int modifyMhyMediaVideoByProcessNo(String processNo, String videoName);

    /**
     * 根据uuid装载所有数据
     * @param uuid
     * @return
     */
    UnifiedReportData getUnifiedReportData(String uuid);

    /**
     *
     * @param smokeDetection
     * @return
     */
    int modifySmokeDetectionByKey(SmokeDetection smokeDetection);

    /**
     *
     * @param uuid
     * @return
     */
    SmokeDetection getSmokeDetectionInfoByUUId(String uuid);

    List<ProcessData> getAllProcessData();

    List<ProcessNo> getAllProcessNo();

    List<SmokeDetection> getAllSmokeDetection();

    List<MhyMedia> getAllMhyMedia();
}
